home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / sparc / include / asm / sigcontext_32.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.4 KB  |  63 lines

  1. #ifndef __SPARC_SIGCONTEXT_H
  2. #define __SPARC_SIGCONTEXT_H
  3.  
  4. #ifdef __KERNEL__
  5. #include <asm/ptrace.h>
  6.  
  7. #ifndef __ASSEMBLY__
  8.  
  9. #define __SUNOS_MAXWIN   31
  10.  
  11. /* This is what SunOS does, so shall I. */
  12. struct sigcontext {
  13.     int sigc_onstack;      /* state to restore */
  14.     int sigc_mask;         /* sigmask to restore */
  15.     int sigc_sp;           /* stack pointer */
  16.     int sigc_pc;           /* program counter */
  17.     int sigc_npc;          /* next program counter */
  18.     int sigc_psr;          /* for condition codes etc */
  19.     int sigc_g1;           /* User uses these two registers */
  20.     int sigc_o0;           /* within the trampoline code. */
  21.  
  22.     /* Now comes information regarding the users window set
  23.      * at the time of the signal.
  24.      */
  25.     int sigc_oswins;       /* outstanding windows */
  26.  
  27.     /* stack ptrs for each regwin buf */
  28.     char *sigc_spbuf[__SUNOS_MAXWIN];
  29.  
  30.     /* Windows to restore after signal */
  31.     struct {
  32.         unsigned long    locals[8];
  33.         unsigned long    ins[8];
  34.     } sigc_wbuf[__SUNOS_MAXWIN];
  35. };
  36.  
  37. typedef struct {
  38.     struct {
  39.         unsigned long psr;
  40.         unsigned long pc;
  41.         unsigned long npc;
  42.         unsigned long y;
  43.         unsigned long u_regs[16]; /* globals and ins */
  44.     }        si_regs;
  45.     int        si_mask;
  46. } __siginfo_t;
  47.  
  48. typedef struct {
  49.     unsigned   long si_float_regs [32];
  50.     unsigned   long si_fsr;
  51.     unsigned   long si_fpqdepth;
  52.     struct {
  53.         unsigned long *insn_addr;
  54.         unsigned long insn;
  55.     } si_fpqueue [16];
  56. } __siginfo_fpu_t;
  57.  
  58. #endif /* !(__ASSEMBLY__) */
  59.  
  60. #endif /* (__KERNEL__) */
  61.  
  62. #endif /* !(__SPARC_SIGCONTEXT_H) */
  63.